# 清理重复的Mapper XML文件
# 这个脚本会删除scms-admin模块中的所有secondclass相关的Mapper XML文件
# 因为这些文件应该只存在于scms-secondclass模块中

# 设置路径
$adminMapperPath = ".\scms-admin\target\classes\mapper\secondclass"

# 清理函数
function Clean-DuplicateMappers {
    # 检查路径是否存在
    if (Test-Path $adminMapperPath) {
        Write-Host "正在清理 $adminMapperPath 目录中的Mapper XML文件..."
        
        # 获取所有XML文件
        $xmlFiles = Get-ChildItem -Path $adminMapperPath -Filter "*.xml"
        
        # 删除每个文件
        foreach ($file in $xmlFiles) {
            Write-Host "删除文件: $($file.FullName)"
            Remove-Item -Path $file.FullName -Force
        }
        
        Write-Host "清理完成！"
    } else {
        Write-Host "$adminMapperPath 目录不存在，无需清理。"
    }
}

# 清理target目录
Write-Host "正在清理所有模块的target目录..."
mvn clean
Write-Host "清理完成！"

# 编译项目
Write-Host "正在编译项目..."
mvn compile
Write-Host "编译完成！"

# 再次清理重复的Mapper XML文件
Clean-DuplicateMappers

# 启动项目
if ($args.Count -gt 0 -and $args[0] -eq "start") {
    Write-Host "正在启动项目..."
    cd scms-admin
    java -jar target/scms-admin.jar
} else {
    Write-Host "所有重复的Mapper XML文件已清理完毕，现在可以重新编译和运行项目了。"
    Write-Host "如需启动项目，请运行: .\clean_duplicate_mappers.ps1 start"
} 